1. Field of the Invention
The present invention relates to an information processing apparatus and a cellular phone appropriate for reproduction-of music on a mobile telephone, for example.
2. Description of Related Art
In recent years, there are spreading silicon audio players and portable audio players with external detachable memory on the market. In accordance with this trend, the digital audio reproduction function is provided for some models of commercially available cellular phones.
It is known that the digital audio reproduction function for cellular phones decompresses (decodes) encoded data generated from linear PCM (Linear Pulse Code Modulation) data encoded by audio compression technologies such as MPEG1 Layer3 (Moving Picture Image Coding Experts Group 1-Layer 3:MP3) and ATRAC3 (Adaptive Transform Acoustic Coding 3). Actually, the digital audio reproduction function is implemented by a control process of a CPU (Central Processing Unit) and a decode process of a DSP (digital signal processor).
The digital audio reproduction function further requires at least functions and specifications such as “reproduction”, “stop”, “reproduction time calculation”, and “reproduction time display”. The above-mentioned command processes such as “reproduction” and “stop” are available as handshake processes and therefore need to interchange commands between both. On the other hand, either CPU or DSP can process “reproduction time calculation”
The above-mentioned digital audio reproduction function has typically two methods, i.e., first and second methods of performing “reproduction time calculation”.
According to the first method, the CPU counts frames and multiplies the reproduction time per frame by the count value to calculate the reproduction time. The frame is a single data unit for encoded data (bit stream). Encoding and decoding are performed in units of frames.
According to the second method, the DSP decodes frames. Each time the DSP completes decoding one frame, the DSP sends notification to the CPU to indicate that decoding of that frame has been completed. The CPU counts notifications from the DSP about completion of decoding one frame and multiplies the reproduction time per frame by the count value to calculate the reproduction time.
Japanese Non-examined Patent Publication No. 9-27187 (patent document 1) discloses the technology for finding the audio reproduction time. The apparatus according to this technology transfers coded signals read from a disk medium to the buffer memory. The apparatus decodes the coded signals read from the buffer memory and outputs audio data. In this apparatus, the buffer memory is provided with a time table to indicate sector sizes from the beginning of the disk. The reproduction time is found based on the time table.
[Patent document] Japanese Non-examined Patent Publication No. 9-27187 (FIG. 1)
An ordinary portable audio player can use the entire CPU throughput for the audio reproduction. The realtime capability for the digital audio reproduction is not influenced by a choice between the above-mentioned first and second methods for “reproduction time calculation”.
However, a cellular phone has the telephone call function, i.e., the most important function whose realtime capability must be always ensured. For example, there may be a mixture of tasks for the telephone call protocol process and tasks associated with the digital audio reproduction process. In such case, tasks for the digital audio reproduction process must be less prioritized than tasks for the telephone call protocol process.
In other words, when the digital audio reproduction function is performed in such multitask process, an attempt must be made to minimize loads on CPU processes associated with the audio reproduction. Otherwise, the realtime capability may not be ensured during the audio reproduction. Especially, according to the above-mentioned second method considering an overhead for changing tasks, the CPU may not be able to realtime receive the time notification from the DSP. In this case, the reproduction time is displayed incorrectly.